Legacy programs are computer programs running on mainframe or host computers. Traditionally these programs are operated through standard terminal screen interfaces, such as the TN3270 screen protocol defined by IBM and others. Many legacy programs are in use throughout the world today. However the character based user interfaces most often employed by legacy programs are perceived as difficult to use by consumers that have become accustomed to graphical user interfaces such as those employed on the WWW, mobile communications device and home computers. In addition, updating of legacy programs with additional business logic has traditionally required many hours of work by human developers.